import { z } from "zod"

export const inputParamsSchema = {
  "accountHolderCode": z.string().describe("Your unique identifier for the prospective account holder.\nThe length must be between three (3) and fifty (50) characters long. Only letters, digits, and hyphens (-) are allowed."),
  "accountHolderDetails": z.record(z.any()).describe("<llm-instruction>This part of the input schema is truncated. If you want to pass the property `accountHolderDetails` to the tool, first call the tool `expandSchema` with \"/properties/accountHolderDetails\" in the list of pointers. This will return the expanded input schema which you can then use in the tool call. You may have to call `expandSchema` multiple times if the schema is nested.</llm-instruction>\n<property-description>The details of the prospective account holder.</property-description>"),
  "createDefaultAccount": z.boolean().describe("If set to **true**, an account with the default options is automatically created for the account holder.\nBy default, this field is set to **true**.").optional(),
  "description": z.string().describe("A description of the prospective account holder, maximum 256 characters. You can use alphanumeric characters (A-Z, a-z, 0-9), white spaces, and underscores `_`.").optional(),
  "legalEntity": z.enum(["Business","Individual","NonProfit","Partnership","PublicCompany"]).describe("The legal entity type of the account holder. This determines the information that should be provided in the request.\n\nPossible values: **Business**, **Individual**, or **NonProfit**.\n\n* If set to **Business** or **NonProfit**, then `accountHolderDetails.businessDetails` must be provided, with at least one entry in the `accountHolderDetails.businessDetails.shareholders` list.\n\n* If set to **Individual**, then `accountHolderDetails.individualDetails` must be provided."),
  "processingTier": z.number().int().describe("The starting [processing tier](https://docs.adyen.com/classic-platforms/onboarding-and-verification/precheck-kyc-information) for the prospective account holder.").optional(),
  "verificationProfile": z.string().describe("The identifier of the profile that applies to this entity.").optional()
}